Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour M25 Brisbane French Open - Paris Australian Open - Melbourne Wimbledon - London U.S. Open - New York Spain F6 Brazil F19 Brazil F16 Brazil F22 Brazil F23 Brazil F24 Brazil F31 Brazil F33 Brazil F1 Brazil F12 Brazil F25 Brazil F26 Brazil F33 Brazil F36 Brazil F37 Brazil F38 Brazil F7 Brazil F8 Brazil F9 Brazil F11 Netherlands F2 Netherlands F3 Netherlands F4 Czech Republic F5 Spain F24 Brazil F21 Brazil F22 Portugal F5 Brazil F27 Brazil F32 USA F1 USA F2 USA F3 Portugal F1 Portugal F2 Portugal F3 Portugal F4 Turkey F11 Spain F7 Turkey F12 Spain F8 Turkey F13 Spain F9 Turkey F14 Turkey F15 Spain F10 Spain F12 Spain F13 Spain F14 Spain F11 Spain F15 Spain F16 Spain F17 Netherlands F1 Spain F18 Netherlands F2 Spain F19 Netherlands F3 Netherlands F4 Belgium F7 Belgium F8 Austria F7 Austria F8 Austria F9 Austria F10 Brazil F5 France F16 France F17 Spain F33 Spain F34 Spain F35 Spain F36 Portugal F1 Portugal F2 Spain F3 Spain F4 Spain F5 Croatia F3 Croatia F4 Croatia F5 Croatia F6 Croatia F7 Italy F11 Italy F12 Italy F13 Italy F14 Slovenia F1 Romania F3 Slovenia F2 Slovenia F3 Netherlands F1 Brazil F11 Hungary F2 Hungary F3 Netherlands F3 Austria F1 Netherlands F4 Austria F2 Austria F3 Austria F4 Austria F5 Slovakia F3 Austria F6 Austria F7 Italy F30 Italy F31 Italy F32 Italy F33 Italy F34 Italy F35 Czech Republic F6 Dominican Republic F1 Spain F28 Dominican Republic F2 Dominican Republic F3 Dominican Republic F4 Spain F1 USA F4 Spain F2 Spain F3 Spain F4 Spain F5 Portugal F2 Portugal F3 Spain F6 Spain F7 Spain F8 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Georgia F2 Georgia F3 Slovenia F2 Slovenia F3 Austria F1 Austria F2 Austria F3 Austria F4 Belgium F8 Belgium F10 Netherlands F5 Netherlands F6 Belgium F13 Belgium F14 France F19 Dominican Republic F2 Dominican Republic F3 France F1 France F2 Spain F1 Spain F2 Spain F3 Spain F4 Italy F2 Italy F3 France F7 Italy F4 Netherlands F2 France F9 Italy F14 Italy F18 Austria F1 Austria F2 Austria F8 Austria F3 Austria F4 Slovakia F2 Austria F5 Switzerland F3 Switzerland F4 Switzerland F5 Spain F29 Spain F30 Portugal F11 Portugal F12 Tunisia F29 Tunisia F30 Tunisia F31 Tunisia F32 Tunisia F33 Tunisia F34 Tunisia F35 Tunisia F36 Tunisia F1 (Hammamet) Tunisia F2 (Hammamet) Tunisia F3 (Hammamet) Tunisia F4 (Hammamet) Tunisia F5 (Hammamet) Tunisia F6 (Hammamet) Tunisia F9 (Hammamet) Tunisia F10 (Hammamet) Tunisia F11 (Hammamet) Tunisia F12 (Hammamet) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) Tunisia F16 (Hammamet) Tunisia F18 (Hammamet) Tunisia F19 (Hammamet) Romania F2 (Bacau) Tunisia F21 (Hammamet) Tunisia F22 (Hammamet) Hungary F5 (Budapest) Netherlands F2 (Breda) Germany F8 Belgium F9 Italy F25 (Cornaiano) France F20 France F21 France F22 Germany F17 Germany F18 Dominican Republic F1 Tunisia F37 (Hammamet) Tunisia F38 (Hammamet) Tunisia F39 (Hammamet) Hong Kong F4 (Hong Kong) Spain F5 Portugal F5 Italy F13 Spain F33 Qatar F4 (Doha) Qatar F5 (Doha) Qatar F6 (Doha) M15 Hong Kong Portugal F1 (Vale Do Lobo) M15 Punta Cana M25 Vale do Lobo M25 Idanha-a-Nova M25 Agadir M15 Monastir M15 Monastir M25 Portimao M25 Toulouse-Balma M25 Santa Margherita di Pula M15 Alaminos-Larnaca M25 Prague M25 Brazzaville M15 Al Zahra M25 Brazzaville Hong Kong F5 (Hong Kong) M15 Stellenbosch M25 Santa Margherita di Pula M25 Idanha-a-Nova M15 Al Zahra M25 Sintra M25 Santa Margherita di Pula Brazil F10 M25 Sapporo Netherlands F1 M25 Castelo Branco Austria F9 M25 Tay Ninh Blunmenau Challenger M15 Cancun M25 Prague M25 Jablonec Nad Nisou Campinas Challenger Sao Paulo Challenger Florianopolis Challenger Scheveningen Challenger Italy F10 M25 Idanha-a-Nova Porto Alegre Challenger Sao Paulo Challenger Rio Quente Challenger Scheveningen Challenger Poznan Challenger Oberstaufen Challenger Petange Challenger M25 Setubal M25 Sintra M25 Sintra Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger M25 Sunderland Montevideo Challenger M25 Glasgow M25 Vila Real de Santo Antonio M25 Vila Real de Santo Antonio M25 Faro M25 Loule Panama City Challenger M25 Quinta Do Lago M25 Santa Margherita di Pula Itajai Challenger M25 Santa Margherita di Pula M25 Nottingham Santos Challenger M25 Rome Liberec Challenger Brasov Challenger M25 Cordoba M25 Risskov/Aarhus M15 Wroclaw Prague Challenger Bucaramanga Challenger M25 Santa Margherita di Pula San Luis Potosi Challenger Sao Paulo Challenger M25 Santa Margherita di Pula Sao Paulo Challenger M15 Hua Hin M25 Hua Hin Buenos Aires Challenger Brescia Challenger Buenos Aires Challenger Sao Paulo Challenger Aix En Provence Challenger Mestre Challenger Vicenza Challenger Furth Challenger Lyon Challenger Perugia Challenger Santos Challenger Campinas Challenger Braunschweig Challenger Poznan Challenger Blois Challenger Segovia Challenger Cordenons Challenger Seville Challenger Campinas Challenger Buenos Aires Challenger Santiago Challenger Rio De Janeiro Challenger Bangkok Challenger Dallas Challenger Caltanissetta Challenger Bastad Challenger Campinas Challenger Tashkent Challenger Lima Challenger Montevideo Challenger Zhangjiagang Challenger Alicante Challenger Anning Challenger Nanchang Challenger Aix En Provence Challenger Heilbronn Challenger Samarkand Challenger Fergana Challenger Almaty Challenger Shymkent Challenger Ilkley Challenger Poprad Tatry Challenger Orleans Challenger Recanati Challenger Braunschweig Challenger Perugia Challenger St. Brieuc Challenger Shanghai Challenger Kaohsiung Challenger Campinas Challenger Santo Domingo Challenger Lima Challenger Shenzhen Challenger M25 Castelo Branco Kobe Challenger Bangkok Challenger Dallas Challenger M25 Porto Prague II Challenger Chengdu Challenger Prostejov Challenger Turin Challenger Forli Challenger Lisbon Challenger Orlando Challenger M25 Hong Kong Gran Canaria 2 Challenger M25 Sapporo Oeiras 2 Challenger M25 Takasaki Amersfoort Challenger Prague 2 Challenger Verona Challenger Tulln Challenger Braga Challenger Lisbon Challenger Santiago 2 Challenger Santiago 3 Challenger Bogota Challenger Buenos Aires Challenger Montevideo Challenger Campinas Challenger Manama Challenger Antalya 3 Challenger Madrid Challenger Cali Challenger Almaty Challenger Salzburg Challenger Bogota Challenger Maia Challenger Oeiras 2 Challenger New Delhi Challenger Santa Cruz de la Sierra Challenger Little Rock Challenger Manzanillo Challenger Rio De Janeiro Challenger Szczecin Challenger Florianopolis Challenger Tiburon Challenger Segovia Challenger Punta Del Este Challenger Guimaraes Challenger San Marino Challenger Liuzhou Challenger Oeiras 1 Challenger Jerusalem Challenger Seville Challenger Cleveland Challenger Mexico City Challenger Braunschweig Challenger Como Challenger Genova Challenger Marbella Challenger Shymkent Challenger Calgary Challenger Oeiras 3 Challenger Brasil Open - Costa do Sauipe Genova Challenger Porto Alegre Challenger Brazzaville Challenger Santiago Challenger Nonthaburi 1 Challenger Moscow Challenger Liuzhou Challenger Brasil Open - Sao Paulo Acapulco Challenger Modena Challenger Campinas Challenger Montevideo Challenger Bad Waltersdorf Challenger Ecuador Open - Quito Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Argentina Open - Buenos Aires US Men's Clay Court Championship - Houston Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Bet-at-home Open - Hamburg Suisse Open - Gstaad BB&T Atlanta Open - Atlanta Abierto Mexicano - Los Cabos Modena Challenger Oeiras 3 Challenger Apia International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Suisse Open - Gstaad Lima 2 Challenger Guayaquil Challenger China Open - Beijing Maia 2 Challenger Maharashtra Open - Pune Forli 1 Challenger Ecuador Open - Quito Argentina Open - Buenos Aires Gran Canaria Challenger Rio Open - Rio de Janeiro Concepcion 2 Challenger Santa Cruz de la Sierra 2 Challenger Oeiras 1 Challenger Vegeta Croatia Open - Umag San Luis Potosi Challenger Brasil Open - Sao Paulo Gazprom Hungarian Open - Budapest Bordeaux Challenger TEB BNP Paribas Istanbul Open - Istanbul Perugia Challenger Drummondville Challenger German Tennis Championships - Hamburg BMW Open - Munich BMW Open - Munich ASB Classic - Auckland Santiago Open - Santiago Chengdu Open - Chengdu Delray Beach Open - Delray Beach Great Ocean Road Open - Melbourne Gonet Geneva Open - Geneva Cagliari Challenger Adelaide International 1 - Adelaide Adelaide International 2 - Adelaide Chile Dove Men+Care Open - Santiago Sao Paulo Challenger Viking International - Eastbourne Erste Bank Open - Vienna Vicenza Challenger Nonthaburi 3 Challenger Manama Challenger Gijon Open - Gijon Cuernavaca Challenger United Cup - Australia US Men's Clay Court Championship - Houston ASB Classic - Auckland SkiStar Swedish Open - Bastad Blumenau Challenger Montevideo Challenger Sao Paulo Challenger Asuncion Challenger Swiss Indoors Basel - Basel Nordea Open - Bastad Generali Open - Kitzbuhel Campos do Jordao Challenger Belo Horizonte Challenger Genova Challenger Blumenau Challenger Aguascalientes Challenger Campinas Challenger Belem Challenger Qatar ExxonMobil Open - Doha Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Tel Aviv Watergen Open - Tel Aviv Santa Fe 2 Challenger Campinas Challenger Buenos Aires Challenger Barranquilla Challenger Sao Paulo Challenger Nonthaburi 1 Challenger Oeiras 4 Challenger Sao Paulo Challenger Santiago Challenger Sarasota Challenger Mestre Challenger Campinas Challenger Santiago Challenger Guayaquil Challenger Mendoza Challenger Sao Paulo Challenger Pune Challenger Santiago Challenger Sarasota Challenger Savannah Challenger Milan Challenger Santiago Challenger Blois Challenger Milan Challenger Como Challenger Ningboo Challenger Cali Challenger Guayaquil Challenger Almaty Challenger L'Aquila Challenger Marburg Challenger Argentina Open - Buenos Aires Prague Challenger Nordea Open - Bastad Bet-at-home Open - Hamburg Szczecin Challenger Istanbul Challenger Biella Challenger Sibiu Challenger Santo Domingo Challenger Ningboo Challenger Rio Open - Rio de Janeiro Seoul Challenger Santos Challenger Nur-Sultan Challenger Tampere Challenger Manerbio Challenger Jinan Challenger Buenos Aires Challenger Ningboo Challenger Brasil Open - Sao Paulo St. Brieuc Challenger Guayaquil Challenger Vicenza Challenger Le Gosier Challenger Montevideo Challenger Bangkok Challenger Newport Beach Challenger Punta Del Este Challenger Marbella Challenger Cary Challenger Sao Paulo Challenger Cherbourg Challenger Santiago Challenger Porto Alegre Challenger Oeiras 3 Challenger Oeiras 4 Challenger Lima Challenger Porto Challenger Eckental Challenger Gran Canaria 1 Challenger Ortisei Challenger Tampere Challenger Segovia Challenger Warsaw Challenger Rio De Janeiro Challenger Quito Challenger Santiago Challenger Maia 1 Challenger Bordeaux Challenger Santiago Challenger Szczecin Challenger Oeiras 1 Challenger Morelos Challenger Salzburg Challenger Generali Open - Kitzbuhel Como Challenger Mexico City Challenger Oeiras 2 Challenger Buenos Aires Challenger Barcelona Open Banc Sabadell - Barcelona Rio Open - Rio de Janeiro Shenzhen Challenger Taipei 2 Challenger Koblenz Challenger Serbia Open - Belgrade Montechiarugolo - Parma Challenger Swiss Open - Gstaad Genova Challenger Buenos Aires Challenger Braga Challenger Lisbon Challenger Lisbon Challenger Cortina Challenger Szczecin Challenger Sibiu Challenger Suzhou Challenger Lima Challenger Shenzhen Challenger Montevideo Challenger Newport Beach Challenger Chile Dove Men+Care Open - Santiago San Francisco Challenger Cherbourg Challenger Vancouver Challenger Santiago Challenger Lille Challenger St. Brieuc Challenger Alicante Challenger Mexico City Challenger Barletta Challenger Tunis Challenger Baotou Challenger Francavilla Challenger Ostrava Challenger Lisbon Challenger Aix En Provence Challenger Braga Challenger Bordeaux Challenger Montechiarugolo Challenger Lisbon Challenger Vicenza Challenger Shymkent Challenger Genova Challenger Scheveningen Challenger Porto Challenger Puerto Vallarta Challenger Liberec Challenger Santo Domingo Challenger Argentina Open - Buenos Aires Plava Laguna Croatia Open - Umag Pullach Challenger Winston-Salem Open - Winston-Salem Mauthausen Challenger Cordenons Challenger Asuncion Challenger Sao Leopoldo Challenger Karlsruhe Challenger Como Challenger Braunschweig Challenger Salzburg Challenger Mallorca Challenger Argentina Open - Buenos Aires Genova Challenger Bad Waltersdorf Challenger Cassis Challenger Nonthaburi 4 Challenger Fairfield Challenger Guayaquil Challenger Calgary Challenger Bratislava 2 Challenger Helsinki Challenger Nordea Open - Bastad Hamburg European Open - Hamburg Buenos Aires Challenger Kobe Challenger Cordoba Challenger Open Parc - Lyon Libema Open - 's-Hertogenbosch Andria Challenger Oeiras 5 Challenger Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Braga Challenger Orlando Challenger Maia Challenger Gonet Geneva Open - Geneva Belgrade Challenger Columbus Challenger Newport Beach Challenger Orlando 2 Challenger German Tennis Championships - Hamburg Punta Del Este Challenger BMW Open - Munich Cleveland Challenger Dallas Challenger European Open - Antwerp Bangkok Challenger Prostejov Challenger Bangkok Challenger Yokohama Challenger Milan Challenger Zhuhai Challenger Santiago Challenger Salzburg-Anif Challenger Taipei City Challenger Murcia Challenger Bratislava Challenger United Cup - Australia Rio Open - Rio de Janeiro Zhuhai Open - Zhuhai Monterrey Challenger Brasil Open - Sao Paulo Pereira Challenger Argentina Open - Buenos Aires Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Mallorca Championships - Mallorca Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Moselle Open - Metz Miami Open - Miami Miami Open - Miami Movistar Chile Open - Santiago M15 Sofia Western & Southern Open - Cincinnati Miami Open - Miami Aircel Chennai Open - Chennai Mutua Madrid Open - Madrid SkiStar Swedish Open - Bastad Internazionali BNL d'Italia - Rome M25 Sintra BNP Paribas Open - Indian Wells Geneva Open - Geneva Ecuador Open - Quito Tata Open Maharashtra - Pune Barcelona Open Banc Sabadell - Barcelona Brasil Open - Sao Paulo Turkish Airlines Open Antalya - Antalya Cordoba Open - Cordoba Mutua Madrid Open - Madrid Rio Open - Rio de Janeiro Generali Open - Kitzbuhel Cordoba Open - Cordoba Nordea Open - Bastad Winston-Salem Open - Winston-Salem Belgrade 2 - Belgrade Cordoba Open - Cordoba Argentina Open - Buenos Aires BMW Open - Munich Gonet Geneva Open - Geneva Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Stockholm Open - Stockholm Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Chile Dove Men+Care Open - Santiago BMW Open - Munich Gonet Geneva Open - Geneva Generali Open - Kitzbuhel Mutua Madrid Open - Madrid Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London French Open - Paris U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York U.S. Open - New York U.S. Open - New York French Open - Paris U.S. Open - New York U.S. Open - New York Shanghai Rolex Masters - Shanghai Australian Open - Melbourne Mutua Madrid Open - Madrid Australian Open - Melbourne French Open - Paris Wimbledon - London Shanghai Rolex Masters - Shanghai Wimbledon - London BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome French Open - Paris Australian Open - Melbourne Miami Open - Miami BNP Paribas Open - Indian Wells Davis Cup, World Group, PO, JPN-BRA 3-1 Davis Cup, Group I, 1R, DOM-BRA 2-3 Davis Cup, Group I, 2R, COL-BRA 3-2 Davis Cup, Group I, 1R, BRA-BAR 3-1 Davis Cup, Qualifiers, 1R, BRA-GER 1-3 Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, Group I, 1R, DEN-BRA 1-3 Davis Cup, World Group, Q, SWE-BRA 1-3 Davis Cup, Group A, Bologna Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Davis Cup, World Group, QR, AUS-BRA 3-1 Australian Open - Melbourne Wimbledon - London Western & Southern Open - New York Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome French Open - Paris Western & Southern Open - Cincinnati Miami Open - Miami French Open (juniors) Wimbledon (juniors) French Open (juniors) U.S. Open (juniors) U.S. Open - New York Wimbledon - London Australian Open (juniors) Australian Open (juniors) U.S. Open (juniors) Davis Cup, World Group, PO, BEL-BRA 4-0 Davis Cup, Group I, 2R, ECU-BRA 0-5 Davis Cup, World Group, QR, BRA-BEL 1-3 Davis Cup, Group I, PO, BRA-CHN 4-0 Olympics - Paris Olympics - Tokyo